package com.tmz.domain;

import java.io.Serializable;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Embeddable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.CollectionOfElements;

@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@Table(name="APUESTA")
@DiscriminatorColumn( name="APUESTA_TIPO",discriminatorType=DiscriminatorType.STRING)
public class Apuesta implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4212370204175573272L;
	private Long id;
	private Jornada jornada;
	


	private User usuario;
	
	/*private int resultado1;  
	
	private int resultado2;
	
	private int resultado3;
	
	private int resultado4;
	
	private int resultado5;
	
	private int resultado6;
	
	private int resultado7;
	
	private int resultado8;
	
	private int resultado9;
	
	private int resultado10;
	
	private int resultado11;
	
	private int resultado12;
	
	private int resultado13;
	
	private int resultado14;
	
	private int resultado15;*/
	
	@CollectionOfElements(targetElement = java.lang.Integer.class) 
	@Column(name="APUESTA_RESULTADOS")
	public List<Integer> getResultados() {
		return resultados;
	}
	public void setResultados(List<Integer> resultados) {
		this.resultados = resultados;
	}
	private List<Integer> resultados = new ArrayList<Integer>();
	
	@Id
	@GeneratedValue (strategy=GenerationType.AUTO)
	@Column(name="APUESTA_ID")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	
	@ManyToOne (targetEntity=Jornada.class)
	@JoinColumn (name="JORNADA_FK")
	public Jornada getJornada() {
		return jornada;
	}
	public void setJornada(Jornada jornada) {
		this.jornada = jornada;
	}
	
	@ManyToOne (targetEntity=User.class)
	@JoinColumn (name="USER_FK")	
	public User getUsuario() {
		return usuario;
	}
	public void setUsuario(User usuario) {
		this.usuario = usuario;
	}
	
	/*@Column(name="APUESTA_RESULTADO1")
	public int getResultado1() {
		return resultado1;
	}
	public void setResultado1(int resultado1) {
		this.resultado1 = resultado1;
	}
	@Column(name="APUESTA_RESULTADO2")
	public int getResultado2() {
		return resultado2;
	}
	public void setResultado2(int resultado2) {
		this.resultado2 = resultado2;
	}
	@Column(name="APUESTA_RESULTADO3")
	public int getResultado3() {
		return resultado3;
	}
	public void setResultado3(int resultado3) {
		this.resultado3 = resultado3;
	}
	@Column(name="APUESTA_RESULTADO4")
	public int getResultado4() {
		return resultado4;
	}
	public void setResultado4(int resultado4) {
		this.resultado4 = resultado4;
	}
	@Column(name="APUESTA_RESULTADO5")
	public int getResultado5() {
		return resultado5;
	}
	public void setResultado5(int resultado5) {
		this.resultado5 = resultado5;
	}
	@Column(name="APUESTA_RESULTADO6")
	public int getResultado6() {
		return resultado6;
	}
	public void setResultado6(int resultado6) {
		this.resultado6 = resultado6;
	}
	@Column(name="APUESTA_RESULTADO7")
	public int getResultado7() {
		return resultado7;
	}
	public void setResultado7(int resultado7) {
		this.resultado7 = resultado7;
	}
	@Column(name="APUESTA_RESULTADO8")
	public int getResultado8() {
		return resultado8;
	}
	public void setResultado8(int resultado8) {
		this.resultado8 = resultado8;
	}
	@Column(name="APUESTA_RESULTADO9")
	public int getResultado9() {
		return resultado9;
	}
	public void setResultado9(int resultado9) {
		this.resultado9 = resultado9;
	}
	@Column(name="APUESTA_RESULTADO10")
	public int getResultado10() {
		return resultado10;
	}
	public void setResultado10(int resultado10) {
		this.resultado10 = resultado10;
	}
	@Column(name="APUESTA_RESULTADO11")
	public int getResultado11() {
		return resultado11;
	}
	public void setResultado11(int resultado11) {
		this.resultado11 = resultado11;
	}
	@Column(name="APUESTA_RESULTADO12")
	public int getResultado12() {
		return resultado12;
	}
	public void setResultado12(int resultado12) {
		this.resultado12 = resultado12;
	}
	@Column(name="APUESTA_RESULTADO13")
	public int getResultado13() {
		return resultado13;
	}
	public void setResultado13(int resultado13) {
		this.resultado13 = resultado13;
	}
	@Column(name="APUESTA_RESULTADO14")
	public int getResultado14() {
		return resultado14;
	}
	public void setResultado14(int resultado14) {
		this.resultado14 = resultado14;
	}
	@Column(name="APUESTA_RESULTADO15")
	public int getResultado15() {
		return resultado15;
	}
	public void setResultado15(int resultado15) {
		this.resultado15 = resultado15;
	}*/
	


}
